package com.ruoyix.weblog.service;

import com.ruoyix.weblog.domain.BlogArticle;
import com.ruoyix.weblog.domain.vo.BlogArticleVo;
import com.ruoyix.weblog.domain.bo.BlogArticleBo;
import com.ruoyix.common.core.page.TableDataInfo;
import com.ruoyix.common.core.domain.PageQuery;

import java.util.Collection;
import java.util.List;
import java.util.Map;

/**
 * 文章管理Service接口
 *
 * @author ruoyi
 * @date 2024-05-27
 */
public interface IBlogArticleService {

    /**
     * 查询文章管理
     */
    BlogArticleVo queryById(Long id);

    /**
     * 查询文章管理列表
     */
    TableDataInfo<BlogArticleVo> queryPageList(BlogArticleBo bo, PageQuery pageQuery);

    /**
     * 查询文章管理列表
     */
    List<BlogArticleVo> queryList(BlogArticleBo bo);

    /**
     * 新增文章管理
     */
    Boolean insertByBo(BlogArticleBo bo);

    /**
     * 修改文章管理
     */
    Boolean updateByBo(BlogArticleBo bo);


    Boolean updateLikeCount(Long id);


    Boolean updateViewCount(Long id);

    /**
     * 校验并批量删除文章管理信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    /**
     * 获取页面信息
     * @return
     */
    Map<String,String> getWebInfoMessage();


    /**
     * 根据标题查询分类
     * @param title
     * @return
     */
    public List<Map<String, Object>> getArticlesByType(String title,int size);
}
